#ifndef FUNCOES_H_
#define FUNCOES_H_

/**
 * @class Funcoes funcoes.h "src/generico/Funcoes.h"
 * @brief Classe para controle de funcoes.
 * A classe Funcoes é um detalhamento para controlar todas as funcoes genéricas do projeto.
*/
class Funcoes {

private:

	/**
	 * @fn Funcoes()
	 * @brief Contrutor Privado
	 * Dessa forma evitamos que a classe seja intanciada, \n
	 * sendo que não é nescessario pois todos os métodos são staticos.
	 */
	Funcoes();

	/**
	 * @fn virtual ~Funcoes()
	 * @brief Destrutor da entidade
	 * Utilizado para liberar espaço na mémoria, eliminando a instancia
	 * do objeto criado. \n
	 * Nessa caso como o construtor é privado, não é nescessario a classe \n
	 * ter um destrutor.
	*/
	virtual ~Funcoes();

public:

	/**
	 * @fn void static ImprimeCabecalho()
	 * @brief Método para imprimir o cabeçalho.
	 * O método imprime o cabeçalho do programa.
	*/
	void static ImprimeCabecalho();

	/**
	 * @fn void static PausarPrograma()
	 * @brief Método para pausar o programa.
	 * O método para pausar o programa tem a opção de utilização no Windows e no Linux.
	*/
	void static PausarPrograma();

	/**
	 * @fn void static LimparTela()
	 * @brief Método para limpar a tela.
	 * O método limpar a tela tem a opção de utilização no Windows e no Linux.
	*/
	void static LimparTela();
};

#endif /* FUNCOES_H_ */
